package com.burgeon.backend.SHOP.service;

import com.burgeon.backend.SHOP.entity.Complement;
import com.burgeon.backend.SHOP.entity.CouponType;

import com.burgeon.backend.SHOP.service.ex.ErrorDataExceptionApp;
import com.burgeon.backend.entity.*;
import com.burgeon.backend.service.ex.ErrorDataException;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public interface AppComplementService {

    ArrayList<RetailRecordItem> getVipRetailItem(String id, String token);
    /**
     * 积分兑换购物券
     */
    void PointsAreRedeemedForCoupons(String tid, String phone,String openid, String token) throws ErrorDataExceptionApp;


    User getUserData(String openid,String token);

    void modUserEmp(String phone,String openid,String emp,String token);

    HashMap userEmpData(String openid,String token);

    void makeUserTags(String phone, VipAttrib vipAttrib, String cid, String token) throws ErrorDataException;

    ArrayList<String> getTagsItem(String code, String token);

    void delComplement(String id) throws ErrorDataException;

    void newComplementSwitch(Complement complement) throws ErrorDataException;

    List<Complement> getComplementSwitch(String phone, String account) throws ErrorDataException;

    List<Complement> getComplement(String account) throws ErrorDataException;

//*****************************************************************************

    void modVipData(String token, User user, String openid) throws ErrorDataException;

    /**************************积分兑换****************************************/
    List<CouponType> showRedeemCoupons(String token) throws ErrorDataException;

    /***************************积分明细***************************************/
    ArrayList<RechargeItem> getVipRechargeItem(String phone, String token);

    //获取消费记录
    ArrayList<RetailRecord> getVipRetail(String phone, String token);

    //套券积分展示
    List showGiftConversion(String token);

    void PointsAreRedeemedForGiftCoupons(String cid,String[] tids, String phone, String openid, String token) throws Exception;
}
